Connection system

ABSTRACT

Various embodiments include systems and methods for providing communication among a plurality of users with complementary requirements in an electronic network.

The present application is a Continuation of U.S. patent applicationSer. No. 12/427,014, filed Apr. 21, 2009, which application claims thebenefit of priority of the following provisional patent application:U.S. Provisional Patent Application No. 61/152,973, filed Feb. 17, 2009,the entirety of which are incorporated by reference herein.

BACKGROUND

People at different points in their lives may seek & offerinformation/data, goods, services, partners, etc. For these purposes,people may seek commercial operations that specialize in specific areasof business, e.g., a person seeking a book, might visit a book store.Transactions may be person-to-person transactions. E.g., a person needsa babysitter in his/her neighborhood. In some embodiments, people orentities may be placed into one of the two categories, a) those who seekand b) those who offer.

Several systems exist that connect those seeking with those offering.According to some classification schemes, these can be broadly groupedas:

A. Advertising mediums, including television, print, online, mail, etc.

B. Direct sales, including door-to-door marketing, telephone marketing,etc.

C. Word of mouth, including referrals through friends, family andacquaintances

D. Direct matching systems, including classified advertisements in printmedia, subject-focused Internet websites that match offerers withseekers (e.g., auction, dating, and job sites; e.g., general use freeclassified sites)

Systems A and B may be costly and are sometimes effectively limited touse by commercial businesses that have capital to allocate towardadvertising and sales.

System C may limit the connection making process to the extent of aperson's individual network of people.

System D, while meeting the needs of some, may have certain limitations.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic illustrating an environment of a UHIW systemaccording to some embodiments;

FIG. 2 is a block diagram illustrating a system of connecting users withcomplementary requirements according to some embodiments;

FIG. 3 is a flow diagram illustrating a method of connecting users withcomplementary requirements according to some embodiments;

FIG. 4 is a flow diagram illustrating the handling of listening rulesaccording to some embodiments;

FIG. 5A is an example client interface illustrating an ‘I Want’ displayfor providing requirement details of a product required by a useraccording to some embodiments;

FIG. 5B is an example client interface illustrating an advanced ‘I Want’display for providing requirement details of a product required by auser according to some embodiments;

FIG. 5C is an example client interface illustrating an ‘I Have’ displayfor providing product details of a product offered by a user accordingto some embodiments;

FIG. 5D is an example client interface illustrating an advanced ‘I Have’display for providing product details of a product offered by a useraccording to some embodiments;

FIG. 5E is an example client interface illustrating a ‘Matches’ displayfor presenting matched results to a user according to some embodiments;

FIG. 5F is an example client interface illustrating a ‘Settings’ displayfor changing user profile and other information according to someembodiments;

FIG. 5G is an example client interface illustrating a ‘Listener’ displayfor tracking offering details corresponding to specific listening rulesaccording to some embodiments;

FIG. 5H is an example client interface illustrating a ‘Set Listeningrules’ display for ‘Listener’ according to some embodiments.

FIG. 5I is an example client interface illustrating a ‘BusinessListener’ display for tracking requirement details corresponding tobusiness specific listening rules according to some embodiments;

FIG. 5J is an example client interface illustrating a ‘Set Listeningrules’ display for ‘Business Listener’ according to some embodiments.

DESCRIPTION OF EMBODIMENTS

As used herein, a communication network may refer to a network ofcommunication devices and/or stations having wired or wirelessinterconnection for establishing communication. Communication mayinclude, without limitation, transmitting and receiving signals.Communication may further include, without limitation, transferringinformation and data such as voice, audio, video, graphics and the like.Communication network may include, without limitation, Internet,intranet, extranet, Wide Area Network (WAN), wireless WAN (WWAN), LocalArea. Network (LAN), wireless LAN (WLAN), transducer links such as thoseusing Modulator-Demodulators (modems), telecommunication network,personal area network and Global Navigation Satellite System (GLASS).Telecommunication network may include, without limitation, PublicSwitched. Telephone Network (PSTN), Global System for MobileCommunications (GSM), and Code Division Multiple Access network (CDMA).Personal area network may include, without limitation, Bluetooth andInfrared, and Global Navigation Satellite System (GLASS).

In the following description, specific details are set forth in order toprovide a thorough understanding of various embodiments. However, itwill be apparent to a person of ordinary skill in the art, that variousembodiments may be practiced without these specific details, or withadditional details. Various aspects and features of example embodimentsare described in detail hereinafter.

Various embodiments include systems and methods for connectingbuyers/seekers with sellers/offerers. Various embodiments allow seekersand offerers to find one another without paying listing fees. Variousembodiments allow seekers and/or offerers to post an indication of aproduct or service to buy or sell. Various embodiments allow seekersand/or offerers to post an indication of a desire to accomplishsomething. Various embodiments may allow the postings to remain activeor relevant for significant periods of time, such as days, weeks,months, or years.

Various embodiments may allow seekers and/or offerers to find each otherwith minimal data entry required. Various embodiments may allow seekersand/or offerers to find each other without the necessity of extensivelybrowsing postings or profiles of their counterparts. Various embodimentsmay allow seekers and/or offerers to communicate with each other withminimal lag in communication.

Various embodiments may allow seekers and offerers to communicatedirectly. Various embodiments may provide similar perspectives and/oruser interfaces to both seekers and offerers. Various embodiments mayaccount for the possibility that the number of offerers may notnecessarily exceed the number of seekers, and vice versa.

Various embodiments may allow seekers to communicate with offererswithout revealing personal information, such as email addresses. Variousembodiments may allow offerers to communicate with seekers withoutrevealing personal information, such as email addresses.

Various embodiments may deter spam and repetitive commercial listings.

Various embodiments may allow a poster (e.g., a seeker or an offerer) tospecify a geographical reach for his/her posting. Thus, in someembodiments, a poster may reach multiple cities with a single posting.E.g., a single posting may be accessible from multiple cities. In someembodiments, a seeker may search for products, services, etc., acrossmultiple geographic regions through a single site or interface.

FIG. 1 is a schematic depicting an environment of a UHIW (You have IWant) system for connecting people with complementary requirements.According to some embodiments, the UHIW system approaches thematchmaking problem by capturing the needs of the two sides throughminimal data entry and focusing on the objective of connecting peoplewith complementary needs. According to some embodiments, the environmentcomprises a plurality of users, a communication network 102, and a UHIWsystem that includes a UHIW client 104 for each user and a UHIW Back-endsystem 106.

Users may access UHIW Back-end system 106 using an electronic devicesuch as computer, cell-phone or the like through communication network102. The electronic device may host a UHIW client 104 which usescommunication network 102 to connect with UHIW Back-end system 106. UHIWclient 104 may be different for each user depending upon the electronicdevice.

In some embodiments, users may register with UHIW Back-end system 106.During registration, users may provide their contact information. Thecontact information may include username, user phone number, user chatid, email id, etc.

After registering, a user may submit details of one or more productsthrough UHIW client 104. A user may submit ‘requirement details’ of aproduct if the user wants to buy that product. A user may submit‘offering details’ of a product if the user wants to sell that product.A product may be any physical commodity, good, service, or anyinformation. A single user may submit requirement/offering details forany number of products. The requirement details and the offering detailsmay be provided in the form of keywords. Keywords may be entered usingone or more means. For example, keywords may be entered into a box usinga keyboard or may be selected through a drop down menu.

Offering details and requirement details may be stored by UHIW Back-endsystem 106. For each detail, the contact information of thecorresponding user who submitted the details may also be stored.

UHIW Back-end system 106 may match the requirement details with theoffering details. Each requirement detail may match with one or moreoffering details and vice versa. A user who submits a particularrequirement/offering detail may be presented with all the matchedresults. For example, Back-end system 106 may determine that a matchexists between an offer and a requirement if a keyword from the offeringdetails corresponding to the offer is the same as a keyword from therequirement details corresponding to the requirement.

A user, through user interface 104, may view all the matched resultscorresponding to the requirement/offering details submitted by her.

FIG. 2 is a block diagram illustrating the different components of UHIWBack-end system 106. According to some embodiments, UHIW system 106comprises an input module 200, a database 202, a matching engine 204, anoutput module 206 and a chat engine 208.

In some embodiments, input module 200 receives an ‘I want’/‘I have’message from user 100.

Each incoming message may be pushed to the database 202. In someembodiments, database 202 may store all ‘I want’ messages and ‘I have’messages received from various users. In addition, database 202 may alsostore contact information of some or all users.

In some embodiments, matching engine 204 matches an ‘I want’ messagewith one or more ‘I have’ messages. Matching engine 204 may also matchan ‘I have’ message with one or more ‘I want’ messages. Matching engine204 may use a search engine such as Lucene thr matching results.Matching engine 204 may index the stored messages in advance of thematching process in order to enable a faster matching process. An indexof messages may be prepared corresponding to each keyword and keywordcombinations. The matching process may include several iterations basedon different fields of information in the message. As will beappreciated, the matching engine may employ various search algorithms,matching algorithms, or various other algorithms, according to variousembodiments. The matched results may be stored in database 202.

Output module 206 may output matched results o user 100 through UHIWclient 104. User 100 may have the option to delete any result from thematched result list. So if a user subsequently accesses the matchedresult list, the deleted result may not appear in the list.

Chat engine 208 may provide a communication channel to user 100 forestablishing communication with other users. Communication may bethrough an external chat client, an internal chat client, and/or througha combination of the two. Examples of external chat clients includeGtalk, Yahoo messenger, MSN messenger, etc. Examples of internal chatclients include Jabber, Coccinella, etc.

If the user associated with a matched result is ‘online’ (e.g., on anyof the chat client services available—internal or external), user 100may send her a request for a chat conversation. The other user mayaccept or deny user 100's request.

If the user associated with a matched result is ‘offline’, user 100 maysend an offline message to her. The offline message may be sent as SMSto her cell-phone, as email, or as a notification in a chat client.

Chat engine 208 may also provide a mail inbox facility (UHIW systemmessage box) to receive offline notifications from other users. User 100may view the notifications in UHIW system message box after she logsinto the UHIW system. In some embodiments, logging into the UHIW may beuser 100's sole means of accessing the notifications.

FIG. 3 is a flow diagram illustrating a method for connecting users 100with complementary requirements using UHIW system. FIG. 3 is discussedin conjunction with FIGS. 5A, 5B, 5C, 5D, 5E and 5F, which illustratedisplays presented to users on UHIW client 104.

At step 300, after user 100 has logged into the UHIW application, shemay be asked to choose from options of posting an ‘I want’ or ‘I have’message. FIGS. 5A to 5D illustrate the display presented to user 100,the display providing the user with various options. Options may bechosen by clicking on the tabs, e.g., the ‘I want’ tab 500 or ‘I have’tab 502. User 100 may choose ‘I want’ tab 500 to post requirementdetails (an ‘I want’ message) for a product which user 100 wants topurchase. User 100 may choose ‘I have’ tab 502 to post offering details(an ‘I have’ message for the product she wants to sell.

At step 302, an interface (as illustrated in FIG. 5A) may be provided touser 100 enabling her to post a new ‘I want’ message. In someembodiments, an ‘I want’ interface display may include a text area 510,a ‘submit’ button 512 and a table 514. Text Area 510 is the portion,where an ‘I want’ message for the product may be posted. An ‘I want’message may comprise a combination of keywords. Text area 510 mayprovide one or more text boxes where a user may enter keywords. Thekeywords may reflect a product name, product specifications, a costassociated with a product, or any other feature or characteristic of aproduct, service, etc. Various mechanisms may be used for enteringkeywords. In some embodiments, keywords may be typed in using akeyboard. In some embodiments, keywords may be selected using adrop-down menu. For example, keyword ‘California’ may be selectedthrough a drop-down menu which lists all state names in the USA. In someembodiment, keywords may be entered under various headings using theadvanced interface illustrated in FIG. 5B.

For example, in FIG. 59, multiple headings such as ‘category’, ‘year’,‘price range’ etc. are provided. There may be a separate space to fillin general keywords. In the example, illustrated in FIG. 5B, the userhas filled in keywords ‘autos’, ‘2004 & after’, ‘25-35 K’, ‘Mercedes, CClass, Autos <30,000 Miles’, and ‘New York’ under various headings.These keywords may reflect the expectations of user 100 regarding thatparticular product. In some embodiments, one keyword may be givenpriority over another, or over all other key words (e.g., over all otherkeywords in a posting). In the above example, keyword ‘autos’ may begiven priority over others. ‘Save’ button 512 may be used to post therequest to UHIW Back-end system 106.

Table 514 lists ‘I want’ messages previously posted by user 100. User100 may delete any message from table 514 and then the message may alsobe deleted from database 202.

At step 304, the new ‘I want’ message posted may be stored in database202. Thereafter, this ‘I want’ message may also appear in table 514.

Database 202 may store some or all the messages posted by various users.

At step 306, UHIW Back-end system 106 matches the new ‘I want’ messagewith one or more ‘I have’ messages in database 202. Matching engine 204retrieves keywords from the ‘I want’ message and may use variousalgorithms (for example, search algorithms) to match the messages.Matching engine may also apply these algorithms to the contactinformation of user 100. The ‘I have’ messages that match with the new‘I want’ message are associated with the new ‘I want’ message. Forexample, database 202 may create a record to store the new ‘I want’message, and may store within that record an identifier associated witheach of the matching ‘I have’ messages.

Steps 308, 310 and 312 are steps that may be executed if user 100 wantso post an ‘I have’ message using the ‘I have’ screen. Step 308, 310, and312 are analogous to steps 302, 304, and 306 respectively. Asillustrated in FIG. 5C, ‘I have’ messages posted by user 100 in textarea 516 may appear in table 520 after the user has saved them usingsave button 518. Text area 516 may provide one or more text boxes toenter keywords, and the messages may then be stored in database 202. Insome embodiments, an advanced interface shown in FIG. 5D may also beused to post an ‘I have’ message.

The step of matching may be performed by UHIW system for each ‘I want’message and each ‘I have’ message stored in database 202. Thus,corresponding to each ‘I want’ message there may be one or more matching‘I have’ messages. Similarly, corresponding to each ‘I have’ messagethere may be one or more matching ‘I want’ messages.

Matching for a message may be done immediately after any message isposted or may be done after a fixed time. User 100 may log off afterposting the message.

In case user 100 wants to view the matched results for his ‘I have’/‘Iwant’ messages, step 314 is executed. FIG. 5E illustrates an exemplarydisplay for displaying matched results to user 100. User 100 may viewthe matched results by clicking on matches tab 504

According to some embodiments, the ‘matches’ screen includes a table 522and a view message link 524.

Table 522 presents each matching result in a row. According to someembodiments, each matching result may include type of message, messagedescription, user id or alias of user who posted that matched message,and a link to contact that user. The type of messages may be ‘I want’,if the match corresponds to an ‘I have’ message and ‘I have’ if thematch corresponds to an ‘I want’ message. User 100 may also have theoption to delete any matched result using the delete option. In thatcase, the entry may be deleted from matched results of that message indatabase 202.

Table 522 may indicate which of the users associated with the matchedresults are online. A user may be online if she is logged into UHIWBack-end system 106 or if she is available on her chat id (e.g., if sheis logged onto an external chat system). If a user associated with amatched result is online, user 100 may contact her by clicking on the‘chat now’ link.

At step 316, UHIW Back-end system 106 may receive a request from user100 to contact an online user (e.g., an online user corresponding to amatch that user 100 has received). For example, referring to FIG. 5E,user 100 may click on or otherwise select “Chat now” in order to requestto contact the user known as ‘Air guy’ in the matched results.

At step 318, on approval of the user ‘Air guy’, user 100 may chat withher. Chat engine 208 may facilitate the chatting functionality betweenthe two users, in case the corresponding user (e.g., ‘Agent 1’) isoffline, an offline message may be sent to her UHIW application, email,cell-phone or any external chat client. In FIG. 5E, user 100 may checkher chat histories or offline messages in view message link 524.

UHIW client 104 may also provide a display to user 100 for changing heraccount settings. In FIG. 5F, an exemplary ‘Settings’ screen isillustrated. The ‘Settings’ Screen may comprise a Sign-in tab 526, apersonal information area 528, an external chat information area 530 andan alerts information area 532. Personal information area 528 maycomprise a user name, user location, UHIW ID etc.

External chat information area 530 allows user 100 to be connected tothe UHIW application while available on external chat or email services.User 100 may provide priority to external chats and may provide her idor related information for receiving any message or chat request. User100 may also sign in to external chat clients using sign-in tab 526. Foran external chat client, UHIW application may store the correspondingserver address (which may include address and port number for theparticular external chat client), which enables a user to connect tothat external chat client. Alerts information area 532 allows user 100to receive messages when not on the Internet, e.g., to receive messageson his cell-phone or email. User 100 may select the frequency of themessages.

According to some embodiments, UHIW System may also provide a user withthe option of tracking (listening to) ‘I have’ messages related to aspecific field, Tracking may be done without posting an ‘I want’message. This functionality is called ‘listener’.

FIGS. 5G and 5H presents the ‘Listener’ display and ‘setting listeningrules’ display respectively. User 100 may view ‘Listener’ screen byclicking on listener tab 534. ‘Listener’ screen comprises a table 538and a link 540 to set listening rules. User 100 may provide listeningrules by clicking on listening rules link 540. She may be directed to a‘setting listening rules’ screen, an example of which is illustrated inFIG. 5H. Keywords may be provided as listening rules.

Listening rules may be related to a product for which user 100 desires aperiodic or continuous stream of information. The user may, for example,desire to eventually purchase air tickets to New York. For this purpose,user 100 may want to view all ‘I have’ messages related to ‘Air Ticketsto New York’, So, user 100 may provide ‘Air tickets to New York’ in thelistening rules. After saving the rule using save button 544, thelistening rule is submitted to UHIW Back-end system 106 and the rule islisted in table 546.

UHIW Back-end system 106 may match listening rules with stored ‘I have’messages. Matched ‘I have’ messages (e.g., some or all matched ‘I have’messages) may be presented to user 100 in table 538 in FIG. 5G. Themessages may be presented and/or updated periodically and/orcontinuously.

According to some embodiments, user 100 may not directly contact usersposting the ‘I have’ messages. After user 100 gets an idea of whatpeople are selling in a particular domain, she may post an ‘I want’message in a manner such that the message may match with the ‘I have’messages that are of interest to her. Thus after suitable matching hasbeen done, user 100 may contact the users associated with the matchedresults.

FIG. 4 is a flow diagram illustrating a business listener option.Business listener option enables user 100 to track ‘I want’ messages,such as ‘I want’ messages related to a business specific category andthus may enable her to get business leads. In some embodiments, a usermay pay to track ‘I want’ messages.

User 100 may click on Business Listener tab 548 (FIG. 5I) to view the‘Business Listener’ display.

At step 400, user 100 may provide some listening rules. As illustratedin FIG. 5I, user 100 may provide listening rules by clicking onlistening rules link 540. She may be directed to a ‘set listening rules’screen which has been illustrated in FIG. 5J. Keywords may be providedas listening rules.

Listening rules may be related to some specific products for which user100 requires a continuous stream of information. For example user 100may want to view all ‘I want’ messages related to ‘laptops’.Accordingly, she may enter ‘laptops’ under the heading ‘category’ intext area 554. After saving the rule using save button 556, thelistening rule is submitted to UHIW Back-end system 106 and the rule islisted in table 558.

At step 404, UHIW Back-end system 106 may match each received ‘I want’message with the listening rules. Some or all matched ‘I want’ messagesmay be stored in database 202.

At step 406, some or all matched ‘I want’ messages may be presented tothe user 100. The messages may be presented once, periodically, orcontinuously, according to various embodiments. According to someembodiments, a message may be presented to user 100 at run time afterthe message has been posted by another user. According to someembodiments, some or all matched results may be displayed on thelistener screen in table 550. According to some embodiments, some or allmatched results may be emailed to user 100 or may be sent to user 100through chat client, or may be sent to the user via some other mode ofcommunication

After user 100 gets an indication of the ‘I want’ messages in thedesired business specific category, she may post a new ‘I have’ messagewith UHIW Back-end system 106 to meet the requirements highlighted inthose ‘I want’ messages. For example, user 100 may receive 20 messageswhich indicate that users are looking for Dell laptops, IBM laptops etc.which are 2 years old and within a specific price range. So user 100 maycreate a new ‘I have’ message such that UHIW Back-end system 106 will beable to match the new ‘I have’ message with those 20 ‘I want’ messages.In the above mentioned example, chances of matching may be increased byuser 100 by choosing keywords like ‘Dell laptop’ and ‘<2 years’. User100 may also select keywords indicating geography if most of the 20 ‘Iwant’ messages indicate that those users belong to a certain region andtherefore may easily purchase laptops from that region. A businesslistener option thus enables a user to get an idea of the needs ofpeople in a specific domain and then post an ‘I have’ message in amanner such that the message may match with large number of ‘I want’messages and thus may reach a wider audience.

At step 408, user 100 may create an ‘I have’ message through the processdescribed in FIG. 2. UHIW Back-end system 106 may then perform a matchbetween this newly created ‘I have’ message and the ‘I want’ messagesstored in database. The users who posted matched ‘I want’ messages willthen be presented with the offering details of user 100 and may contacthim though the process as discussed in FIG. 2.

VARIOUS EMBODIMENTS

The following are embodiments, not claims:

Embodiment A

A computer implemented method for providing person to personcommunication among a plurality of users, the method comprising thesteps of:

Receiving requirement details for a first product from a first user,wherein the requirement details comprise a plurality of keywordsassociated with the first product;

Receiving offering details for a second product from a second user,wherein the offering details comprise a plurality of keywords associatedwith the second product;

Matching the requirement details of the first product with the offeringdetails of the second product;

In the event of a successful match, presenting the offering details forthe second product to the first user, wherein the presentation furthercomprises the option of contacting the second user;

Receiving an indication from the first user to contact the second user;and

Enabling the first user to contact the second user though acommunication channel.

Embodiment B

The computer implemented method of embodiment A wherein thecommunication channel may be telecommunication, internet, or any othercommunication channel.

Embodiment C

The computer implemented method of embodiment A further comprising thesteps of:

In the event of a successful match, presenting the requirement detailsof the first product to the second user, wherein the presentationfurther comprises the option of contacting the first user;

Receiving an indication from the second user to contact the first user;and

Enabling the second user to contact the first user though acommunication channel.

Embodiment D

The computer implemented method of embodiment A wherein the firstproduct may be a good, service or information.

Embodiment E

The computer implemented method of embodiment A wherein the secondproduct may be a good, service or information.

Embodiment F

A computer implemented method for providing person to personcommunication among a plurality of users for commercial purposes, themethod comprising:

Receiving requirement details for a first product from a first user,wherein the requirement details comprise a plurality of keywordsassociated with the first product;

Receiving offering details for a second product from a second user,wherein the offering details comprise a plurality of keywords associatedwith the second product;

Receiving offering details for a third product from a third user,wherein the offering details comprise a plurality of keywords associatedwith the third product;

Matching the requirement details of the first product with the offeringdetails of the second product and the third product;

In the event of a successful match, presenting the second and thirdoffering details to the first user in an arranged manner, whereinarrangement is done based on the keywords in the requirement detailsprovided by the first user;

Receiving an indication from the first user to contact a target user,the target user being one of the second user and the third user; and

Enabling the first user to contact the target user though acommunication channel.

Embodiment G

The computer implemented method of embodiment F wherein the arrangementof offering details further comprises the arrangement according to thegeography provided by the first user in the requirement details.

Embodiment H

The computer implemented method of embodiment F further comprising thesteps of:

Receiving requirement details for a fourth product from a fourth user,wherein the requirement details comprises a plurality of keywordsassociated with the fourth product;

Matching the offering details of the second product with the requirementdetails of the first product and the fourth product;

In the event of a successful match, presenting the first and fourthrequirements details to the second user in an arranged manner, whereinarrangement is done based on the keywords in the offering detailsprovided by the second user;

Receiving an indication from the second user to contact a target user,the target user being one of the first user and the fourth user; and

Enabling the second user to contact the target user though acommunication channel.

Embodiment I

The computer implemented method of embodiment H wherein the arrangementof first and fourth requirement details further comprises thearrangement according to the geography provided by the second user inthe offering details.

Embodiment J

A computer implemented method for establishing person to personcommunication, the method comprising:

Receiving ‘listening’ details corresponding to a first product from afirst user, wherein the listening details comprise a plurality ofkeywords associated with the first product;

Matching the listening details with one or more requirement detailsstored in the database;

Presenting to the first user the requirement details that matched withthe listening details;

Receiving offering details from the first user;

Matching the offering details with all the requirement details stored inthe database;

Establishing communication between first user and one or more userscorresponding to the matched requirement details; and

Billing the first user.

In various embodiments, a first user may contact a second user who islogged onto an external chat service. For example, an ‘I have’description submitted by the first user may have been matched with an ‘Iwant’ description entered by the second user. The first user may havethereupon been presented with an option to contact the second user.

In various embodiments, an external chat service may include a chatservice run or maintained by a third party, and/or an unaffiliated chatservice. Examples may include chat services offered by Google, AOL, andYahoo.

According to various embodiments, messages may be relayed to an externalchat service, and received from the external chat service, via anapplication programming interface (API). An example API is jYSMG, whichprovides an interface by which Java applications can utilize the YahooInstant Messenger protocol.

According to various embodiments, an API or other means may also be usedto detect whether a user e.g., the second user), is logged onto anexternal chat service. The second user may be identified via an aliasthat the second user employs on the external chat service. If the seconduser is logged on, then the first user may be informed that the seconduser is logged on. However, the first user may not necessarily be toldthe alias used by the second user on the external chat service. Rather,in some embodiments, the first user may be told a second, differentalias. The second alias may correspond to an alias used by the seconduser on the present system according to various embodiments.

In various embodiments, a first description of a first product for saleis received from a first user. A second description of a second productthat a second user desires to purchase is received from the second user.The first description is compared to the second description. It isdetermined that the first description matches the second description.For example, there are matches of one or more key words. It isdetermined that the first user is logged onto an external chat service.An indication that the first user is logged onto the external chatservice is provided to the second user. For example, the second user isgiven the option to “click to chat” with the first user. An indicationof a desire to communicate with the first user is received from thesecond user. For example, the second user actually does click on a linklabeled “click to chat”. A signal is sent to the first user, via theexternal chat service, indicating that the second user wishes tocommunicate with the first user. For example, a message is sent to thefirst user telling the first user that someone else's description hasmatched his description and that the other person wishes to chat.Permission is received from the first user to put the second user incommunication with the first user. For example, the first user sends amessage back in which he agrees to chat with the second user. A messageis transmitted from the second user to the first user via the externalchat service.

In various embodiments, determining that the first description matchesthe second description may comprise determining that a first word in thefirst description is the same as a second word in the seconddescription. For example, the first description may be “sailing vessel”and the second description may be “water vessel”. Accordingly, the twodescriptions may be deemed a match because of the common word “vessel”.

In various embodiments, determining that the first description matchesthe second description may comprise: determining a first geographicregion based on the first description; determining a second geographicregion based on the second description; and determining that the firstgeographic region is proximate to the second geographic region.Geographic regions may be determined from a description in various ways,including determining latitude and longitude coordinates, determining acity, determining GPS coordinates, determining a zip code, determining astate, determining a street address, determining a street intersection,determining a highway exit, determining a landmark, determining a subsetof a large region (e.g., “Southern New Jersey” is a subset of “Newjersey”), and in various other ways, as will be appreciated. In variousembodiments, a first geographic region may be deemed proximate to asecond geographic region if the two regions are the same, if the tworegions are within a predetermined distance of one another (e.g., if thetwo regions are within 10 miles of one another), if the two regions areon the same landmass (e.g., on the same island; e.g., on the samecontinent), if the two regions are accessible to one another (e.g.,accessible by foot; e.g., accessible by car; e.g., accessible by bus),if the two regions are within the same city, if the two regions arewithin the same country, or if the two regions together satisfy one ormore other criteria.

In various embodiments, a first alias is received from the first user,the first alias serving to identify the first user on the external chatservice. It may then be determined whether the first user is logged ontothe external chat service by checking the status of the first alias withthe external chat service. For example, the first alias may be“joe1999”. It may be determined whether the first user is togged on bychecking the status of “joe1999” with the external chat service (e.g.,via an API).

In various embodiments, even if a first user has a first alias on anexternal chat service, the first user may designate a second alias on aninternal chat service or other communication system. For example, evenif the first user is known as “joe1999” on an external chat service, theuser may provide an alias “sam555” on an internal chat service. In thisway, a second user may have the option of communicating with the firstuser internally, but may be unable to identify the first user outside ofthe system. E.g., the second user may know the alias “sam555”, but mayremain ignorant of the alias “joe1999”. In this way, the privacy and/oranonymity of the first user may be maintained.

In various embodiments, a first and second user may communicate via acombination of external and internal chat services. For example, asecond user may use an internal chat service to send a message to afirst user who is logged onto an external chat service. The system,according to some embodiments, may then relay the message to theexternal chat service, on that it reaches the first user. The messagemay be relayed using an API to the external chat service, for example.

In various embodiments, a user who posts an ‘I want’ or ‘I have’ messagemay receive multiple matches. The matches may then be presented to theuser in a particular order (e.g., in an order defined by a top-to-bottomarrangement, a left-to-right arrangement, or any other arrangement). Insome embodiments, the matches may be ordered according to one or morecriteria. In some embodiments for two or more matches, a geographicdistance is determined between locations indicated in the matcheddescriptions. For example, if message 1 is matched with message 2, andmessage 1 describes location A, and message 2 describes location B, thena distance may be determined between location A and location B. Withdistances among matched descriptions determined, the matches may besorted according to distance. In some embodiments, matches thatcorrespond to shorter distances may be displayed before (e.g., above;e.g., to the left of) matches corresponding to longer distances.

In some embodiments, a user may provide a description that receivesmultiple matched descriptions. Two matched descriptions may match ondifferent keywords, however. For example a user may enter “Tennis racketBrooklyn”. The user may receive two matches, with the followingdescriptions: “tennis racket” and “Brooklyn racket”. In someembodiments, multiple matched descriptions may be presented to a user ina certain order based on which key words have matched. In determiningthe order of matches presented, certain key words or categories of keywords may be given more weight or higher priority than others. Forexample, key words that indicate or correspond to geography may be givenhigher priority than other key words. Thus, “Brooklyn racket” may begiven the higher priority among the two matches described above, sincethe matched word of “Brooklyn” has a geographic connotation, whereas thematched word of “tennis” does not. Note that both of the abovedescriptions have matched on the word “racket”, so this word may notfavor either match in terms of priority.

Categories of key words may include words that pertain to geography,words that pertain to product age, words that pertain to productquality, words that pertain to product price, and other categories.

For example, in some embodiments, matches based on key words relating togeography may be given priority over matches relating to words based onproduct age.

It will be appreciated that, in some embodiments, matches need not onlybe made based on key words, and that other factors leading to matchesmay be used in determining the order of matches. For example, pairs ofmatched descriptions may be ordered based on the degree of similarity inprice between each of the two matched descriptions.

In various embodiments, various rules may be used for alerting a user toa match. Rules may specify how frequently a user is to be alerted aboutnew matches, at what address a user is to be alerted (e.g., which ofmultiple addresses a user has provided is to be used to alert the user),which mode of communication is to be used to alert a user (e.g., emailversus short messaging service), for which types of matches a user is tobe alerted (e.g., a user is to be alerted for matches on all key words,but not for matches on only one key word), and any other criteria.

A rule may specify a frequency with which a user is to be alerted aboutnew matches. For example, a rule may specify that a user is to bealerted immediately about anew match, that a user is to be alerted oncea day about all his new matches, that a user is to be alerted once aweek about all his new matches, or any other frequency. In someembodiments, a user may be alerted with different frequencies ondifferent modes of communication. For example, a user may be alertedafter every match on his cell phone, but only once per day at his emailaddress.

In some embodiments, an alert may alternately be sent to one of twodifferent addresses, depending on the type or nature of a match. Forexample, a user may be sent an alert for a match on his cell phone(e.g., via SMS) if there is a match on price, but an alert at his emailaddress if there is a match on geography. For instance, a user mayconsider certain types of matches more urgent than others, and maytherefore wish to be alerted e.g., on a cell phone for more urgentmatches, and on email for less urgent matches.

In some embodiments, a first user may receive a match substantiallyimmediately (e.g., within a very short period; e.g., within a fewseconds) after entering a first description. For example, the firstdescription entered by the first user may match a second descriptionpreviously entered by a second user. In some embodiments, the first usermay later receive another match on the first description. The new matchmay be with a third description that was entered by a third user afterthe first user had entered the first description. Thus, the first usermay receive a second match significantly after having received the firstmatch (e.g., an hour later; e.g., a day later; e.g., a week later).Thus, in various embodiments, matches may be sought for a givendescription long after the description has been entered.

In various embodiments, a user posting an ‘I have’ message may enter anetwork address indicating a location where more information can befound about the product being described. The network address may be auniform resource locates (URL), for example.

In various embodiments, communication among users employing differentmodes of communication may be facilitated. For example, through thesystem, a user on a chat client (internal or external) may communicatewith a user employing a cellular phone (e.g., using SMS). In variousembodiments, the system may receive a first message from a first uservia an Internet chat client and transmit the first message to a cellularphone belonging to a second user via Short Messaging Service. The systemmay also perform the reverse process. Namely, the system may receive anSMS message and transmit the message to the Internet chat client.

In various embodiments, a first user who has posted an ‘I have’ messagecan view the search criterion used to find the product he has posted.Thus, in some embodiments, if a second user has entered search criterion(e.g., has entered key words) that have matched the product posted bythe first user, then the first user will have the opportunity to viewthe search criterion (e.g., the keywords) entered by the second user. Insome embodiments, the first user may further view other informationabout the second user, such as an identifier or alias of the seconduser.

In some embodiments, a search criterion entered by the second user mayinclude an indication of a geographic region.

It will be understood that while various embodiments have beenillustrated and discussed, these are not to be construed as limiting.Various alterations may be made thereto without departing from thebroader spirit and scope of the various contemplated embodiments. Thespecification and drawings are, accordingly, to be regarded in anillustrative sense rather than a restrictive sense.

1. A method comprising: receiving, by a matchmaking system, from a firstuser a first description of a first product for sale, and from a seconduser a search criterion; determining, by a processor of the matchmakingsystem, that the first product meets the search criterion and an alias;presenting to the first user a notification of the search criterion; andpresenting, in response to the determination that the first productmeets the search criterion, to the first user the alias and an option toinitiate communication with the second user.
 2. The method of 1 in whichthe search criterion includes a set of key words, and in whichpresenting the notification of the search criterion includes presentingto the first user the set of key words.
 3. The method of claim 2 inwhich determining that the first description matches the searchcriterion comprises determining that a first word in the firstdescription is included in the search criterion.
 4. The method of 1 inwhich the search criterion includes a geographic region, and in whichpresenting the notification of the criterion includes presenting to thefirst user an indication of the geographic region.
 5. The method of 1 inwhich receiving the first description includes receiving a networkaddress indicating an existing posting, and retrieving, via the networkaddress, information from the existing posting.
 6. The method of claim 1further comprising: sending, via an external chat service in response tothe first user selection the option, a signal to the second userindicating that the first user wishes to communicate with the seconduser; receiving permission from the second user to put the first user incommunication with the second user; and transmitting a message from thefirst user to the second user via the external chat service.
 7. A methodcomprising: receiving, by a matchmaking system, from a first user afirst description of a first product for sale, and from a second user asecond description of a second product that the second user desires topurchase; comparing, by a processor of the matchmaking system, the firstdescription to the second description; determining, by the processor,that the first description matches the second description; determiningthat the first user is logged onto an external chat service; providingto the second user an indication that the first user is logged onto theexternal chat service; receiving from the second user an indication of adesire to communicate with the first user; sending, via the externalchat service, a signal to the first user indicating that the second userwishes to communicate with the first user; receiving permission from thefirst user to put the second user in communication with the first user;and transmitting a message from the second user to the first user via,the external chat service.
 8. The method of claim 7 in which determiningthat the first description matches the second description comprisesdetermining that a first word in the first description is included inthe second description.
 9. The method of claim 7 in which determiningthat the first description matches the second description comprises:determining a first geographic region based on the first description;determining a second geographic region based on the second description;and determining that the first geographic region is proximate to thesecond geographic region.
 10. The method of claim 7 further comprisingreceiving a first alias from the first user, the first alias serving toidentify the first user on the external chat service, in whichdetermining that the first user is logged onto the external chat servicecomprises checking the status of the first alias with the external chatservice.
 11. The method of claim 7 further comprising: receiving from athird user a third description of a third product for sale; determiningthat the second description matches the third description; determining afirst geographic region based on the first description; determining asecond geographic region based on the second description; determining athird geographic region based on the third description; determining afirst distance based on the first geographic region and the secondgeographic region; determining a second distance based on the secondgeographic region and the third geographic region; determining that thefirst distance is less than the second distance; and displaying, for thesecond user, indications of the first product and of the third product,in which the indication of the first product is displayed above theindication of the third product based on the determination that thefirst distance is less than the second distance.
 12. The method of claim7, in which determining that the first description matches the seconddescription comprises determining that a first word in the firstdescription matches a second word in the second description, the methodfurther comprising: receiving from a third user a third description of athird product for sale; determining that a third word in the seconddescription matches a fourth word in the third description, in which thethird word is different from the second word; determining a firstcategory associated with the second word; determining a second categoryassociated with the third word; determining a first priority associatedwith the first category; determining a second priority associated withthe second category; determining that the first priority is higher thanthe second priority; and displaying, for the second user, indications ofthe first product and of the third product, in which the indication ofthe first product is displayed above the indication of the third productbased on the determination that the first priority is higher than thesecond priority.
 13. The method of claim 12 in which the first categoryis geography and the second category is product age.
 14. The method ofclaim 7 in which receiving the first description includes receiving anetwork address indicating an existing posting, and retrieving, via thenetwork address, information from the existing posting.
 15. A methodcomprising: receiving, by a matchmaking system, from a first user afirst description of a first product for sale, in which the firstdescription is received at a first time; receiving, by the matchmakingsystem, from a second user a second description of a second product thatthe second user desires to purchase, in which the second description isreceived at a second time that is before the first time; determining, bya processor of the matchmaking system, that the first descriptionmatches the second description; transmitting to the first user anindication of the second description, in which the indication of thesecond description is transmitted to the first user substantiallyimmediately after the first time; receiving from a third user a thirddescription of a third product that the third user desires to purchase,in which the third description is received at a third time that is afterthe first time; determining that the first description matches the thirddescription; transmitting to the first user an indication of the thirddescription; providing to the first user contact information for thesecond user; receiving from the first user a request to contact thesecond user; and enabling the first user to communicate with the seconduser.
 16. The method of claim 15 further comprising: receiving from thefirst user a network address at which additional information can befound about the first product; and transmitting to the second user anindication of the network address.
 17. The method of claim 15 in whichenabling the first user to communicate with the second user comprises:receiving a first message from the first user via an Internet chatclient; and transmitting the first message to a cellular phone belongingto the second user via Short Messaging Service.
 18. A system comprising:a processor; an input module, implemented by the processor, configuredto receive from a first user a first description of a first product forsale, and from a second user a search criterion; a matching engine,implemented by the processor, configured to determine that the firstproduct meets the search criterion and an alias; an output module,implemented by the processor, configured to present to the first user anotification of the search criterion, in response to the determinationthat the first product meets the search criterion; and to present to thefirst user the alias and an option to initiate communication with thesecond user.
 19. The system of claim 18 in which the search criterionincludes a set of key words, and in which the output module isconfigured to present the notification of the search criterion bypresenting the set of key words to the first user.
 20. The system ofclaim 18 in which matching engine is configured to determine that thefirst description matches the search criterion by determining that afirst word in the first description is included in the search criterion.21. The system of claim 18 in which the search criterion includes ageographic region, and in which the output module is configured topresent the notification of the search criterion by presenting anindication of the geographic region to the first user.
 22. The system ofclaim 18 in which the first description includes a network addressindicating an existing posting, and the input module is configured toretrieve information from the existing posting.